/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"AE88B137-8AAE-4CAC-97FB-CB1DBE61F67B",variableType:4}
 */
var gFormSeleccionado = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"F60D44A7-4577-4641-91D4-497786D1C465",variableType:4}
 */
var gGrupoActual = null;

/**
 * @param {Number} frm
 * 
 * @properties={typeid:24,uuid:"FF9D1D51-96AB-48EF-8439-27170E821E11"}
 */
function gShow(frm) {
	plugins.window.closeFormPopup(1)
	
	if (gidformactual_to_forms.tipo == 4)
	{
		var resp = globals.DIALOGS.showQuestionDialog( 'Confirma',  '¿Seguro que desea salir?' ,  'Si', 'No')
		if (resp == 'Si')
		{
			databaseManager.revertEditedRecords();
			databaseManager.setAutoSave(true)
		}
		else
			return
	}
	
	globals.gFormSeleccionado = frm
	if (gform_seleccionado.ventana == 1)
	{
		try
		{
			globals.cambiarEstilo(gform_seleccionado.nombre)
			var $win = application.createWindow('FWK_FORM',JSWindow.MODAL_DIALOG)
			$win.title = gform_seleccionado.texto
			forms[gform_seleccionado.nombre].controller.show($win)
		}
		catch (e)
		{
			globals.DIALOGS.showWarningDialog('Aviso','No se puede mostrar la pantalla '+gidformactual_to_forms.nombre,'OK')
		}
		finally
		{
			return
		}
	}
	
	if (globals.gEstadoAbm == 0)
	{
		globals.gHistoriaIndice++
		globals.ar[globals.gHistoriaIndice] = frm

		globals.gIdFormActual = frm
		forms.main.elements.tabs_form.removeAllTabs()
		forms.main.elements.tabs_form.addTab( gidformactual_to_forms.nombre,  gidformactual_to_forms.nombre,  gidformactual_to_forms.texto,  gidformactual_to_forms.tooltip)
		try
		{
			globals.config()
		}
		catch (e)
		{
			globals.DIALOGS.showWarningDialog('Aviso','No se puede mostrar la pantalla '+gidformactual_to_forms.nombre,'OK')
		}
		if (gidformactual_to_forms.getSize() != 0)
			forms.menu_opciones.elements.lbl_reg.text = databaseManager.getFoundSetCount(forms[gidformactual_to_forms.nombre].foundset) + ' registro/s'
	}
	else
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe completar la operación antes de salir','OK')
	}
}

/**
 * @param {String} nombre_form
 * 
 * @properties={typeid:24,uuid:"17DE10E8-4C83-462F-80BE-9D94178D62EB"}
 * @AllowToRunInFind
 */
function mostrarForm(nombre_form) {
	/**@type {JSFoundSet<db:/fwk_navigation_infocom/pantallas>} */
	var fs = databaseManager.getFoundSet('fwk_navigation_infocom','pantallas')
		
	fs.find()
	
	fs.id_solucion 	= globals.gIdSolucion
	fs.nombre 		= nombre_form
	
	fs.newRecord()
	
	fs.id_solucion 	= 0
	fs.nombre 		= nombre_form
		
	var cant = fs.search()
	if (cant == 0)
		globals.DIALOGS.showWarningDialog('Aviso','El form "'+nombre_form+'" no existe','Ok')
	else
	{
		globals.gShow(fs.id_form);
	}	
}
